home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Interrupts.a < prev    next >
Text File  |  1996-05-01  |  3KB  |  102 lines

  1. ;
  2. ;    File:        Interrupts.a
  3. ;
  4. ;    Contains:    Public Interface to the Interrupt Manager.
  5. ;
  6. ;    Version:    Technology:    PowerSurge 1.0.2 and beyond (including Copland)
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__INTERRUPTS__') = 'UNDEFINED' THEN
  19. __INTERRUPTS__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE THEN
  25. ;   Interrupt types  
  26.  
  27.  
  28. ; typedef long                             InterruptMemberNumber
  29.  
  30. InterruptSetMember        RECORD 0
  31. setID                     ds.l    1                ; offset: $0 (0)
  32. member                     ds.l    1                ; offset: $4 (4)
  33. sizeof                     EQU *                    ; size:   $8 (8)
  34.                         ENDR
  35.  
  36. kISTChipInterruptSource            EQU        0
  37. kISTOutputDMAInterruptSource    EQU        1
  38. kISTInputDMAInterruptSource        EQU        2
  39. kISTPropertyMemberCount            EQU        3
  40. ISTProperty                RECORD 0
  41. elements                 ds.b    3 * InterruptSetMember.sizeof
  42. sizeof                     EQU *                    ; size:   $18 (24)
  43.                         ENDR
  44.  
  45.  
  46. ; typedef long                             InterruptReturnValue
  47.  
  48.  
  49. kFirstMemberNumber                EQU        1
  50. kIsrIsComplete                    EQU        0
  51. kIsrIsNotComplete                EQU        -1
  52. kMemberNumberParent                EQU        -2
  53. ; typedef Boolean                         InterruptSourceState
  54.  
  55.  
  56. kSourceWasEnabled                EQU        1
  57. kSourceWasDisabled                EQU        0
  58.  
  59. kReturnToParentWhenComplete        EQU        $00000001
  60. kReturnToParentWhenNotComplete    EQU        $00000002
  61. ; typedef OptionBits                     InterruptSetOptions
  62.  
  63. ;   Interrupt Services  
  64. ;
  65. ; extern OSStatus CreateInterruptSet(InterruptSetID parentSet, InterruptMemberNumber parentMember, InterruptMemberNumber setSize, InterruptSetID *setID, InterruptSetOptions options)
  66. ;
  67.     IF GENERATINGCFM THEN
  68.         IMPORT_CFM_FUNCTION CreateInterruptSet
  69.     ENDIF
  70.  
  71. ;
  72. ; extern OSStatus InstallInterruptFunctions(InterruptSetID setID, InterruptMemberNumber member, void *refCon, InterruptHandler handlerFunction, InterruptEnabler enableFunction, InterruptDisabler disableFunction)
  73. ;
  74.     IF GENERATINGCFM THEN
  75.         IMPORT_CFM_FUNCTION InstallInterruptFunctions
  76.     ENDIF
  77.  
  78. ;
  79. ; extern OSStatus GetInterruptFunctions(InterruptSetID setID, InterruptMemberNumber member, void **refCon, InterruptHandler *handlerFunction, InterruptEnabler *enableFunction, InterruptDisabler *disableFunction)
  80. ;
  81.     IF GENERATINGCFM THEN
  82.         IMPORT_CFM_FUNCTION GetInterruptFunctions
  83.     ENDIF
  84.  
  85. ;
  86. ; extern OSStatus ChangeInterruptSetOptions(InterruptSetID setID, InterruptSetOptions options)
  87. ;
  88.     IF GENERATINGCFM THEN
  89.         IMPORT_CFM_FUNCTION ChangeInterruptSetOptions
  90.     ENDIF
  91.  
  92. ;
  93. ; extern OSStatus GetInterruptSetOptions(InterruptSetID setID, InterruptSetOptions *options)
  94. ;
  95.     IF GENERATINGCFM THEN
  96.         IMPORT_CFM_FUNCTION GetInterruptSetOptions
  97.     ENDIF
  98.  
  99.     ENDIF
  100.     ENDIF ; __INTERRUPTS__ 
  101.  
  102.